.-------------------------------------------------------------------------

.define author        <a href="mailto:wnn278480[at]tiscali[dot]nl">Dick van Oudheusden</a>
.-define author        Dick van Oudheusden
.define timestamp     &date('yyyy/mm/dd')
.define EXT           

.----------------------------------------------------------------Links----

.define style         style.css

.define htmlpp        http://www.imatix.com/html/htmlpp
.define Freshmeat     http://freshmeat.net
.define GnuWin32      http://gnuwin32.sourceforge.net
.define RpmFind       http://rpmfind.net
.define LinuxToday    http://linuxtoday.com
.define SlashDot      http://slashdot.org
.define License       http://www.gnu.org/copyleft/gpl.html

.define SunSite       http://sunsite.dk
.define SunSiteImage  http://sunsite.dk/images/hostedby.png 
.define Standard      http://pages.cpsc.ucalgary.ca/~burrellm/objc/objc.html 
.define Resources     http://www.foldr.org/~michaelw/objective-c/  
.define ObjFaq        http://www.faqs.org/faqs/computer-lang/Objective-C/faq/
.define ObjcDoc       http://www.informatik.uos.de/elmar/projects/objcdoc/
.define Jed           http://www.jedsoft.org/jed
.define Xml           http://xmlsoft.org
  
.define Home          index.html
.define News          news.html
.define Classes       classes.html
.define ChangeLog     changelog.html
.define Roadmap       roadmap.html
.define Faq           faq.html
.define Documentation doc.html
.define Download      download.html
.define Sitemap       sitemap.html

.define Reference     docs/index.html

.--------------------------------------------------------Block: counter---
.block counter
<!-- Start of StatCounter Code -->
<script type="text/javascript" language="javascript">
var sc_project=385220; 
var sc_partition=1; 
</script>

<script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><a href="http://www.statcounter.com/" target="_blank"><img  src="http://c2.statcounter.com/counter.php?sc_project=385220&amp;java=0" alt="free hit counter" border="0"></a> </noscript>
<!-- End of StatCounter Code -->
.endblock

.-----------------------------------------------------Macro: menu_begin---
.- <table class="menuheadbox" border="0" width="100%" cellspacing="0" cellpadding="5"> -
.- Parameters: $1 = menu title
.macro menu_begin -
 <table class="menuheadbox" border="0" width="100%" cellspacing="0" cellpadding="5"> -
 <tr class="menuheadtxt" valign="top" align="center"> <td nowrap>  -
 $1 -
 </td> </tr> -
 </table> -
 <table class="menuitembox" border="0" width="100%" cellspacing="0" cellpadding="5"> -
 <tr valign="top" align="center"> <td align="center" valign="top" nowrap>

.------------------------------------------------------Macro: menu_link---

.- Parameters: $1 = link name
.macro menu_link -
 <a class="menuitemtxt" href="$($1)">$1</a><br>

.-----------------------------------------------------Macro: menu_nlink---

.- Parameters: $1 = link name $2 = link
.macro menu_nlink -
 <a class="menuitemtxt" href="$2">$1</a><br>

.-----------------------------------------------------Macro: menu_nlink---

.- Parameters: $1 = image name $2 = width $3 = height $4 = alt
.macro menu_image -
 <img src="$($1)" width="$2" height="$3" alt="$4">


.-------------------------------------------------------Macro: menu_end---

.- Parameters: none
.macro menu_end -
 </td> </tr> </table>

.------------------------------------------------------Macro: class_cap---

.- Parameters: $1 = Caption
.macro class_cap -
  <tr> -
    <th class="modheadtxt" colspan="6">$1</th> -
  </tr>

.---------------------------------------------------Macro: class_header---

.- Parameters: $1 = Name $2 = Cluster $3 = Since $4 = Last $5 = Req $6 = Note
.macro class_header -
  <tr> -
    <th class="modsubtxt">$1</th> -
    <th class="modsubtxt">$2</th> -
    <th class="modsubtxt">$3</th> -
    <th class="modsubtxt">$4</th> -
    <th class="modsubtxt">$5</th> -
    <th class="modsubtxt">$6</th> -
  </tr>

.-----------------------------------------------------Macro: class_item---

.- Parameters: $1 = name $2 = Cluster $3 = Since $4 = Last $5 = Req $6 = Note
.macro class_item -
  <tr class="moditemtxt"> -
    <td><a class="moditemtxt" href="docs/$1.html">$1</a></td> -
    <td class="moditemtxt">$2</td> -
    <td class="moditemtxt" align="center">$3</td> -
    <td class="moditemtxt" align="center">$4</td> -
    <td class="moditemtxt">$5</td> -
    <td class="moditemtxt">$6</td> -
  </tr>

.-------------------------------------------------------Macro: prot_cap---

.- Parameters: $1 = Caption
.macro prot_cap -
  <tr> -
    <th class="modheadtxt" colspan="4">$1</th> -
  </tr>
  
.----------------------------------------------------Macro: prot_header---

.- Parameters: $1 = Name $2 = Since $3 = Last $4 = Note
.macro prot_header -
  <tr> -
    <th class="modsubtxt">$1</th> -
    <th class="modsubtxt">$2</th> -
    <th class="modsubtxt">$3</th> -
    <th class="modsubtxt">$4</th> -
  </tr>

.------------------------------------------------------Macro: prot_item---

.- Parameters: $1 = name $2 = Since $3 = Last $4 = Note
.macro prot_item -
  <tr class="moditemtxt"> -
    <td><a class="moditemtxt" href="docs/Protocol-$1.html">$1</a></td> -
    <td class="moditemtxt">$2</td> -
    <td class="moditemtxt">$3</td> -
    <td class="moditemtxt">$4</td> -
  </tr>

.-------------------------------------------------------Macro: down_cap---

.- Parameters: $1 = Caption
.macro down_cap -
  <tr> -
    <th class="downheadtxt" colspan="4">$1</th> -
  </tr>

.----------------------------------------------------Macro: down_header---

.- Parameters: $1 = Date  $2 = Version  $3 = Source
.macro down_header -
  <tr> -
    <th class="downsubtxt">$1</th> -
    <th class="downsubtxt">$2</th> -
    <th class="downsubtxt">$3</th> -
  </tr>

.------------------------------------------------------Macro: down_item---

.- Parameters: $1 = date $2 = version $3 = source
.macro down_item -
  <tr class="downitemtxt"> -
    <td class="downitemtxt">&date("mmm d, yyyy",$1)</td> -
    <td class="downitemtxt">$2</td> -
    <td><a  class="downitemtxt"href="download/$3">$3</a></td> -
  </tr>


.---------------------------------------------------------Block: header---

.block header
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
 <html> <head> <title>Objective-c Foundation Classes - $(TITLE)</title>
 <meta name="Author"      content="Dick van Oudheusden">
 <meta name="Generator"   content="htmlpp">
.if '$(keywords)' ne 'none'
 <meta name="Keywords"    content="$(keywords)">
.endif
.if '$(description)' ne 'none'
 <meta name="Description" content="$(description)">
.endif
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body>
.endblock

.--------------------------------------------------------Block: sitemap---

.block menu
 <th width="10%">&nbsp;
.menu_begin Menu
.menu_link Home
.menu_link News
.menu_link Roadmap
.menu_link Classes
.menu_link ChangeLog
.menu_link Faq
.menu_link Documentation
.menu_link Download
.menu_link Sitemap
.menu_end
.endblock

.-------------------------------------------------Block: contents_begin---

.block contents_begin
 <table border="0" width="100%" cellpadding="5"> 
 <tr valign="middle" align="center">
   <td width="10%">&nbsp;</td>
   <td class="title" width="80%"><h1>$(TITLE)</h1></td>
   <td width="10%">&nbsp;</td>
 </tr>
 <tr valign="top" align="center">
.build menu
 <th width="80%">&nbsp; 
 <table border="0" width = "100%" cellspacing="0">
.endblock

.---------------------------------------------------Block: contents_end---

.block contents_end
 </table>
.build links
 </tr> </table>
.endblock

.----------------------------------------------------------Block: links---

.block links
 <th width="10%">&nbsp;
.menu_begin Links
.menu_link  Freshmeat
.menu_link  RpmFind
.menu_link  GnuWin32
.menu_link  LinuxToday
.menu_link  SlashDot
.menu_link  License
.menu_end
.menu_begin Objective-C
.menu_link  Standard
.menu_link  Resources
.menu_nlink FAQ $(ObjFaq) 
.menu_end
.menu_begin Tools
.menu_link  Jed
.menu_link  ObjcDoc
.menu_link  htmlpp
.menu_end
.menu_begin 'Hosted by' 
.menu_image SunSiteImage 102 32 'Sunsite.dk'
.menu_end
.endblock

.---------------------------------------------------------Block: footer---
.--- <div class="footer" align="center"> <font size="2">

.block footer
 <div class="footer">Copyright &copy; 2003,2004 by $(author) -- Last updated: $(timestamp)
.if '$(info)' ne 'none'
 -- $(info)
.endif
 --
.build counter
 </div> </body> </html>
.endblock

.-------------------------------------------------------------------TOC---

.block toc_open
  <UL>
.endblock

.block toc_entry
 <LI><a class="toc" href=$(TOC_HREF)>$(TOC_TITLE)</a><br>
.endblock

.block toc_close
  </UL>
.endblock

.-------------------------------------------------------------Page: toc---

.define keywords    none
.define info        Generated by <a href="(htmlpp)">htmlpp</a>
.define description none
.ignore header
.page $(Sitemap) = "Sitemap"
.build contents_begin
 <tr> <td align="left" valign="top"> <p>
.build toc
 </p> </td> </tr>
.build contents_end


.------------------------------------------------------------Page: home---"

.define keywords    Objective-C,Software,Library,Foundation,Classes,Complex
.define info        Generated by <a href="$(htmlpp)">htmlpp</a> 
.define description none
.page $(Home) = Welcome
.build contents_begin
 <tr> <td align="left" valign="top"> 
 <p>The Objective-c Foundation Classes (OFC) is a general library 
 written in the objective-c language. Its main purpose is to make it easier
 to develop applications.</p>
 <p>The classes in the library are grouped in five clusters:</p>
 <ul>
   <li>DataTypes - integer, text string, fraction, bitarray ...</li>
   <li>Collections - list, hash table, AVL and binary tree ...</li>
   <li>Network - TCP/UDP server and client ...</li>
   <li>C-library wrappers - DBM, Sockets, MD5, Regular expressions, Timer ...</li>
   <li>Compound - Argument parser, Calendar, Finite State Machine, Tokenizer ...</li>
 </ul>
 <p>See <a href="$(Classes)">classes</a> for an overview of all classes 
 and protocols in the library.</p>
 <p>The documentation of the library can be browsed in 
 <a href="$(Documentation)">HTML</a> and is also distributed in the download 
 package. In that package there are also quick reference cards in tex format 
 for every cluster. Some more general information can be found in the 
 <a href="$(Faq)">FAQ</a>.</p>
 <p>The <a href="$(Download)">download</a> package includes the library and 
 test programs. At the moment there are no example programs. The test 
 programs give a good introduction in how the use the different classes. 
 It is the intention to add tools and applications on a later moment.</p>
 <p>The library, test programs and the quick reference cards may be 
 freely distributed under the terms of the <a href="$(License)">GNU General 
 Public License</a>.</p>
 <p>Every four months a new version will be published on this site, as 
 stated in the <a href="$(Roadmap)">roadmap</a>. Well, that is the
 idea.</p>
 </td> </tr>
.build contents_end

.------------------------------------------------------------Page: news---"

.define keywords    none
.define info        none
.define description none
.page $(News) = News
.build contents_begin
 <tr> <td align="left" valign="top">
 <h2>&date("dddd d mmmm yyyy",20041117)</h2>
 <p>The fourth release of the package (version 0.4.0) is made public. 
 There are nine new classes and four new protocols. Five classes are 
 extended with new methods. And there are also a few bug fixes. See the 
 <a href="$(ChangeLog)">changelog</a> for the details.</p>
 <h2>&date("dddd d mmmm yyyy",20040622)</h2>
 <p>The third release of the package (version 0.3.0) is made public. 
 There are ten new classes and a few bug fixes. See the 
 <a href="$(ChangeLog)">changelog</a> for the details.</p>
 <h2>&date("dddd d mmmm yyyy",20040201)</h2>
 <p>The second alpha release of the package (version 0.2.0) is made public. 
 There are fourteen new classes and a few bug fixes. See the 
 <a href="$(ChangeLog)">changelog</a> for the details.</p>
 <h2>&date("dddd d mmmm yyyy",20031015)</h2>
 <p>The first alpha release of the package (version 0.1.0) is made public.</p>
 <h2>&date("dddd d mmmm yyyy",20030928)</h2>
 <p>Today the browsable documentation is placed on the site. It should be noted
 that the constents is preliminary.</p> 
 <h2>&date("dddd d mmmm yyyy",20030701)</h2>
 <p>Last week SunSite have set up the website for OFC. Today the web pages
 for OFC went alive.</p> 
 </td> </tr>
.build contents_end

.---------------------------------------------------------Page: classes---"

.define keywords    none
.define info        none
.define description none
.page $(Classes) = Classes
.build contents_begin
 <tr> <td align="left" valign="top">
 <p>This page gives an overview of all the classes and protocols present in
 the OFC library. For classes it lists the name of the class, the cluster
 of the class, the version in which the class was first present, the version
 in which the class was last changed, the external requirements for the 
 class and  some notes. For protocols only the name, the versions and the 
 notes are listed. External requirements are optional: if the 
 requirement is not met, the class will not be present in the library.</p>
 <p>Note: the documentation for the version 0.5.0 is still preliminary.</p>
 <table class="modbox" border="0" align="center" cellspacing="0" cellpadding="5">
.class_cap Classes
.class_header Name Cluster Since "Last updated" Requires Notes
.class_item DBitArray     DataType 0.1.0 0.1.0 none none
.class_item DBool         Datatype 0.1.0 0.1.0 none none
.class_item DChar         Datatype 0.1.0 0.1.0 none none
.class_item DColor        Datatype 0.4.0 0.4.0 none none
.class_item DComplex      Datatype 0.1.0 0.1.0 none none
.class_item DData         DataType 0.1.0 0.4.0 none none
.class_item DDouble       DataType 0.1.0 0.1.0 none none
.class_item DFile         DataType 0.1.0 0.1.0 none none
.class_item DFraction     DataType 0.2.0 0.2.0 none none
.class_item DInt          DataType 0.1.0 0.1.0 none none
.class_item DLong         DataType 0.1.0 0.1.0 none none
.class_item DRnd          DataType 0.2.0 0.2.0 none none
.class_item DLRnd         DataType 0.2.0 0.2.0 none none
.class_item DShort        DataType 0.1.0 0.1.0 none none
.class_item DText         DataType 0.1.0 0.4.0 none none

.class_item DArray        Collection 0.1.0 0.1.0 none none
.class_item DAvlTree      Collection 0.1.0 0.1.0 none Non-recursive
.class_item DAvlIterator  Collection 0.1.0 0.1.0 none none
.class_item DCircle       Collection 0.4.0 0.4.0 none none
.class_item DCube         Collection 0.2.0 0.2.0 none none
.class_item DHashTable    Collection 0.1.0 0.1.0 none none
.class_item DHashIterator Collection 0.1.0 0.1.0 none none
.class_item DList         Collection 0.1.0 0.4.0 none none
.class_item DListIterator Collection 0.1.0 0.4.0 none none
.class_item DSortedList   Collection 0.4.0 0.4.0 none none
.class_item DTable        Collection 0.2.0 0.2.0 none none
.class_item DTree         Collection 0.1.0 0.1.0 none none
.class_item DTreeIterator Collection 0.1.0 0.1.0 none none

.class_item DAtExit            Wrapper 0.2.0 0.2.0 none none
.class_item DDbm               Wrapper 0.2.0 0.2.1 gdbm none
.class_item DDirectory         Wrapper 0.3.0 0.3.0 none none
.class_item DInetSocketAddress Wrapper 0.3.0 0.3.0 none none
.class_item DMD5               Wrapper 0.1.0 0.1.0 none none
.class_item DRegEx             Wrapper 0.2.0 0.2.0 regex none
.class_item DSHA1              Wrapper 0.2.0 0.2.0 none none
.class_item DSocket            Wrapper 0.3.0 0.4.0 none none
.class_item DTimer             Wrapper 0.1.0 0.1.0 none none
.class_item DUnixSocketAddress Wrapper 0.3.0 0.3.0 none Unix
.class_item DXMLReader         Wrapper 0.4.0 0.3.0 expat none

.class_item DHTTPClient   Network  0.4.0 0.4.0 none none
.class_item DTCPServer    Network  0.3.0 0.3.0 none none
.class_item DTCPClient    Network  0.3.0 0.3.0 none none
.class_item DUDPServer    Network  0.3.0 0.3.0 none none
.class_item DUDPClient    Network  0.3.0 0.3.0 none none
.class_item DURL          Network  0.4.0 0.4.0 none none

.class_item DArguments    Compound 0.2.0 0.2.1 none none
.class_item DCalendar     Compound 0.1.0 0.1.0 none none
.class_item DConfigReader Compound 0.2.0 0.2.0 none none
.class_item DConfigTree   Compound 0.2.0 0.2.0 none none
.class_item DConfigWriter Compound 0.2.0 0.2.0 none none
.class_item DFSM          Compound 0.1.0 0.1.0 none none
.class_item DImageHeader  Compound 0.1.0 0.1.0 none none
.class_item DLexer        Compound 0.2.0 0.3.0 DRegex none
.class_item DSource       Compound 0.3.0 0.3.0 none none
.class_item DTokenizer    Compound 0.3.0 0.3.0 none none
.class_item DXMLNode      Compound 0.4.0 0.4.0 none none
.class_item DXMLTree      Compound 0.4.0 0.4.0 DXMLReader none
.class_item DXMLWriter    Compound 0.4.0 0.4.0 none none

 </table>
<br>
 <table class="modbox" border="0" align="center" cellspacing="0" cellpadding="5">
.prot_cap Protocols
.prot_header Name Since "Last updated" Notes
.prot_item DComparable        0.1.0 0.1.0 none
.prot_item DConfigHandler     0.2.0 0.2.0 none
.prot_item DDataReadable      0.1.0 0.1.0 none
.prot_item DDataWritable      0.1.0 0.1.0 none
.prot_item DDatable           0.1.0 0.1.0 none
.prot_item DParsable          0.1.0 0.1.0 none
.prot_item DQueuable          0.4.0 0.4.0 none
.prot_item DRandomable        0.2.0 0.2.0 none
.prot_item DSizeable          0.1.0 0.1.0 none
.prot_item DSocketAddressable 0.3.0 0.3.0 none
.prot_item DStackable         0.4.0 0.4.0 none
.prot_item DTextScannable     0.4.0 0.4.0 none
.prot_item DTextFilterable    0.3.0 0.3.0 none
.prot_item DTextReadable      0.1.0 0.1.0 none
.prot_item DTextWritable      0.1.0 0.1.0 none
.prot_item DTextable          0.1.0 0.1.0 none
.prot_item DXMLHandler        0.4.0 0.4.0 none
 </table>
 <br>
 </td> </tr>
.build contents_end

.-------------------------------------------------------Page: changelog---"

.define keywords    none
.define info        none
.define description none
.page $(ChangeLog) = ChangeLog
.build contents_begin
 <tr> <td align="left" valign="top">
 <pre>
.include ../ChangeLog
 </pre>
 </td> </tr>
.build contents_end

.---------------------------------------------------------Page: roadmap---"

.define keywords    none
.define info        none
.define description none
.page $(Roadmap) = Roadmap
.build contents_begin
 <tr> <td align="left" valign="top"> 
 <h2>0.5.0: &date("mmmm yyyy",20050115)</h2>
 <p>Fifth delivery of the OFC library. This delivery will extend the five 
 clusters with new classes. Planned are the following classes: DDateTime, 
 DTextScreen and DEvent.<br>
 Status: under way</p>
 <h2>0.4.0: &date("mmmm yyyy",20041115)</h2>
 <p>Fourth delivery of the OFC library. This delivery will extend the five 
 clusters with new classes. Planned are the following classes: DColor,
 DCircle, DXML and DHTTPClient.<br>
 Status: done</p>
 <h2>0.3.0: &date("mmmm yyyy",20040622)</h2>
 <p>Third delivery of the OFC library. It will contain the clusters DataTypes, 
 Collections, Network, C-library wrappers and compound classes. This delivery 
 will focus on the network cluster.<br>
 Status: done</p>
 <h2>0.2.0: &date("mmmm yyyy",20040115)</h2>
 <p>Second delivery of the OFC library. It will contain the clusters DataTypes, 
 Collections, C-library wrappers and compound classes. The focus for this
 one will be on Collections and c-library wrappers. Again the network 
 cluster will not be part of this delivery.<br>
 Status: done</p>
 <h2>0.1.0: &date("mmmm yyyy",20031015)</h2>
 <p>First delivery of the OFC library. It will contain the clusters DataTypes, 
 Collections, C-library wrappers and compound classes. The focus of this 
 delivery will be on DataTypes and Collections. The network cluster will
 not be part of this delivery.<br>
 Status: done</p>
 </td> </tr>
.build contents_end

.-------------------------------------------------------------Page: faq---"

.define keywords    none
.define info        none
.define description none
.page $(Faq) = Frequently Asked Questions
.build contents_begin
.ignore header 3
 <tr> <td align="left" valign="top"> 
 <h2>Platforms and compilers</h2>
  <h3>For what platforms is ofc targetted?</h3>
  <p>At the moment only the platforms Linux and WIN32 are targetted.</p>
  <h3>With which compilers is ofc tested?</h3>
  <p>There are not a lot of objective-c compilers around. Ofc is tested on the 
  Linux platform with the gcc compiler with objective-c support. On the WIN32 
  platform MingW32 is used. Ofc is not tested with CYGWIN.</p>
 <h2>Class structure</h2>
  <h3>Does OFC use a base object</h3>
  <p>Yes, OFC uses the standard class Object as base object. OFC doesn't introduce
  an extra base class.</p>
 <h2>Memory management</h2>
  <h3>Does OFC use reference counting?</h3>
  <p>No, OFC does not use reference counting. It introduces extra overhead and it will
  not always work correctly.</p>
  <h3>Can I use a garbage collector with OFC?</h3>
  <p>Well I didn't try it, but I can't see a reason why it shouldn't work.</p>
  <h3>How does the collections handle objects?</h3>
  <p>Collections store pointers to objects. They will not make copies before they store
  the objects. It is the decision of the programmer to make the collection the owner of 
  the object or some other object. To support the programmer there are two 'free' methods
  in the collections:
  <ul>
   <li><tt>shallowFree</tt><br>this method will only free the collection, not the 
       objects stored in the collection.
   <li>free<br>this method will both free the collection and the objects 
       stored in the collection.
  </ul></p>
  <h3>How do the DAvlTree and DHashTable store keys?</h3>
  <p>DAvlTree and DHashTable copy the key before storing, to prevent that
  the key is changed outside the scope of the tree c.q. hashtable. As a result the key is 
  always freed when the tree c.q. hashtable element is freed. </p>
 <h2>Error handling</h2>
  <h3>What type of errors are identified by OFC?</h3>
    <p>There are three types of errors identified by OFC:
    <ol>
     <li>Runtime errors related to Objective-C<br>
     Examples: Method not implemented by a class, Out of memory.
     <li>Programmer's errors<br>
     Examples: Index out of range, invalid value for a method parameter.
     <li>Environment errors<br>
     Examples: File not found, connection unexpectedly closed.
   </ol></p>
  <h3>How does OFC handle runtime errors?</h3>
  <p>OFC does not handle runtime errors. It is up to the programmer to set an error handler
  (using <tt>objc_error_handler</tt>) and handle the errors.</p>
  <h3>How does OFC handle programmer's errors?</h3>
  <p>OFC use the concept of <cite>Garbage in, defined value out</cite>. So for example if the programmer 
  uses an index that is out of range for an object, a warning is given and a valid (but possible incorrect)
  value is returned. There are a few exceptions: test methods will return the
  correctness of the parameter and will not give a warning, some parameters can not be checked 
  (for example an invalid pointer) and only parameters of ofc-methods will be checked.</p>
  <h3>How does OFC handle environment errors?</h3>
  <p>Methods in OFC handle environment errors by returning a boolean that indicates success (or failure) or
  returning an error code. The error code is comparable to the standard errno.
  Some classes also implement test methods and methods to get more information about the error.
  <h3>Does OFC use exceptions?</h3>
  <p>In the current version OFC does not use exceptions.</p>
 </td> </tr>
.ignore header 99
.build contents_end

.---------------------------------------------------Page: documentation---"

.define keywords    none
.define info        none
.define description none
.page $(Documentation) = Documentation
.build contents_begin
 <tr> <td align="left" valign="top"> 
 <p>OFC is accompied by browsable <a href="$(Reference)">class documentation</a>.
 The documentation is generated by <a href="$(ObjcDoc)">ObjcDoc</a>. The html
 documentation is also available in the package.
 </td> </tr>
.build contents_end

.--------------------------------------------------------Page: download---"

.define keywords    none
.define info        none
.define description none
.page $(Download) = Download
.build contents_begin
 <tr> <td align="left" valign="top"> 
 <p>In the table there is an overview of the downloadable packages. The latest
 version is at the top. At the moment there are only source archives. The
 package contains the source, a test program, the html documentation, quick
 reference cards in tex and the configure scripts to built the library on 
 Linux and WIN32. You will need the gcc compiler with objective-c support. 
 On WIN32 the package is tested with MingW32.</p>
 <table class="downbox" border="0" align="center" cellspacing="0" cellpadding="5">
.down_cap Versions
.down_header Date     Version Source
.down_item   20041117 0.4.0   ofc-0.4.0.tar.gz
.down_item   20040622 0.3.0   ofc-0.3.0.tar.gz
.down_item   20040215 0.2.1   ofc-0.2.1.tar.gz
.down_item   20031015 0.1.0   ofc-0.1.0.tar.gz
 </table>
 <br>
 
 </td> </tr>
.build contents_end


